﻿jQuery.fn.pager = function(options){
	options = jQuery.extend({
		amount:0, // 总数量
		allNo:0, // 总页数
		pageNo:0, // 当前页数
		pageSize:0, // 页大小
		callback:function(n) {}
	},options||{});
$(this).html('\<ul class="floatlist"><li id="page_info" class="pg_word"></li><li><a  class="pg_sz" id="page_pre">上一页</a></li>\
              \<li id="page_no" >0</li><li><a class="pg_sz" id="page_next">下一页</a></li>\
              \</ul>');
$("#page_info", $(this)).html(' 第' + options.pageNo + '页/共' + options.allNo + '页/');

	var no = '';
	if (options.pageNo == 1) {
	    no += '<span class="pg_dq">' + options.pageNo + '</span>';
	} else if (options.pageNo == 2) {
	no += '<a class="pg_qt">1</a><span class="pg_dq">' + options.pageNo + '</span>';
	} else if (options.pageNo == 3) {
	no += '<a class="pg_qt">1</a><a class="pg_qt">2</a><span class="pg_dq">' + options.pageNo + '</span>';
	} else if (options.pageNo == 4) {
	no += '<a class="pg_qt">1</a><a class="pg_qt">2</a><a class="pg_qt">3</a><span class="pg_dq">' + options.pageNo + '</span>';
	} else if (options.pageNo > 4) {
	no += '<a class="pg_qt">1</a>...<a class="pg_qt">' + (parseInt(options.pageNo) - 2) + '</a><a class="pg_qt">' + (parseInt(options.pageNo) - 1) + '</a><span class="pg_dq">' + options.pageNo + '</span>';
	}
	if (options.pageNo == options.allNo - 1) {
		no +=  '<a class="pg_qt">' + options.allNo + '</a>';
	} else if (options.pageNo == options.allNo - 2) {
		no +=  '<a class="pg_qt">' + (parseInt(options.pageNo) + 1) + '</a><a class="pg_qt">' + options.allNo + '</a>';
	} else if (options.pageNo == options.allNo - 3) {
		no +=  '<a class="pg_qt">' + (parseInt(options.pageNo) + 1) + '</a><a class="pg_qt">' + (parseInt(options.pageNo) + 2) + '</a><a class="pg_qt">' + options.allNo + '</a>';
	} else if (options.pageNo < options.allNo - 3) {
		no += '<a class="pg_qt">' + (parseInt(options.pageNo) + 1) + '</a><a class="pg_qt">' + (parseInt(options.pageNo) + 2) + '</a>...<a class="pg_qt">' + options.allNo + '</a>';
	}
	$("#page_no", $(this)).html(no);
	$("a", $("#page_no", $(this))).each(function () {
		$(this).click(function() {
			options.callback($(this).text());
		});
	});

	if (options.pageNo > 1) {
		$("#page_pre", $(this)).click(function () {options.callback(((options.pageNo > 1)?(options.pageNo - 1):(1)));});
	} 
	if (options.pageNo < options.allNo) {
		$("#page_next", $(this)).click(function () {options.callback(((options.pageNo < options.allNo)?(parseInt(options.pageNo) + 1):(options.allNo)));});
	} 

	return $(this);
};